import { getUUID } from "@/utils/uuid_token";
import { reqGoodInfo,reqAddOrUpdateShopCart } from "../../api/index";
const actions = {
  // 获取 产品信息的 actions
  async getGoodInfo({ commit }, stuId) {
    const result = await reqGoodInfo(stuId);
    if (result.code === 200) {
      commit("GETGOODInfo", result.data);
    }
  },
  // 将产品添加到购物车中
  async addOrUpdateShopCart({commit},{skuId,skuNum}){
    const result = await reqAddOrUpdateShopCart(skuId,skuNum)
    // 当 请求成功时
    if(result.code === 200){
      return "ok"
    }else{
      // 失败时
      Promise.reject(new Error('失败了'))
    }
    
  }
};
const mutations = {
  GETGOODInfo(state, data) {
    state.goodInfo = data;
  },
};
const state = {
  goodInfo: {},
  uuid_token: getUUID()
};
const getters = {
  // 比如 ： state.goodInfo 初始状态为空， 空对像的 categoryView 属性值为 undefined 则会报假的警告 或者 错误
  // 当前计算的属性至少是一个空对象 ， 否则会报一个假的警告 或者 错误
  // 路径导航数据
  categoryView(state){
    return state.goodInfo.categoryView || {}
  },
  // 产品信息数据
  skuInfo(state){
    return state.goodInfo.skuInfo || {}
  },
  // 产品售卖属性
  spuSaleAttrList(state) {
    return state.goodInfo.spuSaleAttrList || {}
  }
};

export default {
  namespaced: true,
  actions,
  mutations,
  state,
  getters,
};
